using System;
using System.Collections.Generic;
using System.Drawing;
using System.Text;
using Clue_Less_Client.localhost;

namespace Clue_Less_Client
{
    /// <summary>
    /// Class used to store dictionary mapping between images and enumerations.
    /// </summary>
    public static class Images
    {
        public static Dictionary<Characters, Bitmap> characterCards = new Dictionary<Characters, Bitmap>();
        public static Dictionary<Rooms, Bitmap> roomCards = new Dictionary<Rooms, Bitmap>();
        public static Dictionary<Weapons, Bitmap> weaponCards = new Dictionary<Weapons, Bitmap>();
        public static Dictionary<Characters, Bitmap> characterTokens = new Dictionary<Characters, Bitmap>();
        public static Dictionary<Rooms, Bitmap> largeRooms = new Dictionary<Rooms, Bitmap>();

        static Images()
        {
            characterCards.Add(Characters.ColonelMustard, Properties.Resources.ColonelMustard);
            characterCards.Add(Characters.MissScarlet, Properties.Resources.MissScarlet);
            characterCards.Add(Characters.MrGreen, Properties.Resources.MrGreen);
            characterCards.Add(Characters.MrsPeacock, Properties.Resources.MrsPeacock);
            characterCards.Add(Characters.MrsWhite, Properties.Resources.MrsWhite);
            characterCards.Add(Characters.ProfessorPlum, Properties.Resources.ProfessorPlum);
            characterCards.Add(Characters.Empty, Properties.Resources.Empty);

            characterTokens.Add(Characters.ColonelMustard, Properties.Resources.ColonelMustardSm);
            characterTokens.Add(Characters.MissScarlet, Properties.Resources.MissScarletSm);
            characterTokens.Add(Characters.MrGreen, Properties.Resources.MrGreenSm);
            characterTokens.Add(Characters.MrsPeacock, Properties.Resources.MrsPeacockSm);
            characterTokens.Add(Characters.MrsWhite, Properties.Resources.MrsWhiteSm);
            characterTokens.Add(Characters.ProfessorPlum, Properties.Resources.ProfessorPlumSm);
            characterTokens.Add(Characters.Empty, Properties.Resources.Empty);

            weaponCards.Add(Weapons.Candlestick, Properties.Resources.Candlestick);
            weaponCards.Add(Weapons.Knife, Properties.Resources.Knife);
            weaponCards.Add(Weapons.LeadPipe, Properties.Resources.LeadPipe);
            weaponCards.Add(Weapons.Pistol, Properties.Resources.Pistol);
            weaponCards.Add(Weapons.Rope, Properties.Resources.Rope);
            weaponCards.Add(Weapons.Wrench, Properties.Resources.Wrench);
            weaponCards.Add(Weapons.Empty, Properties.Resources.Empty);

            roomCards.Add(Rooms.Ballroom, Properties.Resources.Ballroom);
            roomCards.Add(Rooms.BilliardRoom, Properties.Resources.BilliardRoom);
            roomCards.Add(Rooms.Conservatory, Properties.Resources.Conservatory);
            roomCards.Add(Rooms.DiningRoom, Properties.Resources.DiningRoom);
            roomCards.Add(Rooms.Hall, Properties.Resources.Hall);
            roomCards.Add(Rooms.Kitchen, Properties.Resources.Kitchen);
            roomCards.Add(Rooms.Library, Properties.Resources.Library);
            roomCards.Add(Rooms.Lounge, Properties.Resources.Lounge);
            roomCards.Add(Rooms.Study, Properties.Resources.Study);
            roomCards.Add(Rooms.Empty, Properties.Resources.Empty);

            largeRooms.Add(Rooms.Ballroom, Properties.Resources.BallroomLarge);
            largeRooms.Add(Rooms.BilliardRoom, Properties.Resources.BillardRoomLarge);
            largeRooms.Add(Rooms.Conservatory, Properties.Resources.ConservatoryLarge);
            largeRooms.Add(Rooms.DiningRoom, Properties.Resources.DiningRoomLarge);
            largeRooms.Add(Rooms.Hall, Properties.Resources.HallLarge);
            largeRooms.Add(Rooms.Kitchen, Properties.Resources.KitchenLarge);
            largeRooms.Add(Rooms.Library, Properties.Resources.LibraryLarge);
            largeRooms.Add(Rooms.Lounge, Properties.Resources.LoungeLarge);
            largeRooms.Add(Rooms.Study, Properties.Resources.StudyLarge);
            largeRooms.Add(Rooms.Empty, Properties.Resources.Empty);
        }
    }
}
